Vue2源码:Virtual Dom

src/core/vdom/vnode.js

1
2
3
4
5
6
7
8
9
constructor (
tag?: string,
data?: VNodeData,
children?: ?Array<VNode>,
text?: string,
elm?: Node,
context?: Component,
componentOptions?: VNodeComponentOptions
)

src/core/vdom/create-component.js

componentOptions组件参数只在创建组件时才需传入,包含Ctor, propsData, listeners, tag, children

1
2
3
4
5
const vnode = new VNode(
`vue-component-${Ctor.cid}${name ? `-${name}` : ''}`,
data, undefined, undefined, undefined, context,
{ Ctor, propsData, listeners, tag, children }
)

坚持原创技术分享,您的支持将鼓励我继续创作!